Incremental Topological Ordering and Strong Component Maintenance
نویسندگان
چکیده
We present an on-line algorithm for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created. Our algorithm takes O(m) amortized time per arc, where m is the total number of arcs. For sparse graphs, this bound improves the best previous bound by a logarithmic factor and is tight to within a constant factor for a natural class of algorithms that includes all the existing ones. Our main insight is that the bidirectional search method of previous algorithms does not require an ordered search, but can be more general. This allows us to avoid the use of heaps (priority queues) entirely. Instead, the deterministic version of our algorithm uses (approximate) median-finding. The randomized version of our algorithm avoids this complication, making it very simple. We extend our topological ordering algorithm to give the first detailed algorithm for maintaining the strong components of a directed graph, and a topological order of these components, as arcs are added. This extension also has an amortized time bound of O(m) per arc.
منابع مشابه
Average-case analysis of incremental topological ordering
Many applications like pointer analysis and incremental compilation require maintaining a topological ordering of the nodes of a directed acyclic graph (DAG) under dynamic updates. All known algorithms for this problem are either only analyzed for worst-case insertion sequences or only evaluated experimentally on random DAGs. We present the first averagecase analysis of incremental topological ...
متن کاملThe topological ordering of covering nodes
The topological ordering algorithm sorts nodes of a directed graph such that the order of the tail of each arc is lower than the order of its head. In this paper, we introduce the notion of covering between nodes of a directed graph. Then, we apply the topological orderingalgorithm on graphs containing the covering nodes. We show that there exists a cut set withforward arcs in these...
متن کاملTHE RELATION BETWEEN TOPOLOGICAL ORDERING AND ADJACENCY MATRIX IN DIGRAPHS
In this paper the properties of node-node adjacency matrix in acyclic digraphs are considered. It is shown that topological ordering and node-node adjacency matrix are closely related. In fact, first the one to one correspondence between upper triangularity of node-node adjacency matrix and existence of directed cycles in digraphs is proved and then with this correspondence other properties of ...
متن کاملA new approach to incremental topological ordering
Let G = (V,E) be a directed acyclic graph (dag) with n = |V | and m = |E|. We say that a total ordering ≺ on vertices V is a topological ordering if for every edge (u,v) ∈ E , we have u ≺ v. In this paper, we consider the problem of maintaining a topological ordering subject to dynamic changes to the underlying graph. That is, we begin with an empty graph G =(V, / 0) consisting of n nodes. The ...
متن کاملeb 2 00 8 Average - Case Analysis of Online Topological Ordering ∗
Many applications like pointer analysis and incremental compilation require maintaining a topological ordering of the nodes of a directed acyclic graph (DAG) under dynamic updates. All known algorithms for this problem are either only analyzed for worst-case insertion sequences or only evaluated experimentally on random DAGs. We present the first average-case analysis of online topological orde...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/0803.0792 شماره
صفحات -
تاریخ انتشار 2008